草庐IT

XPath 简介

全部标签

javascript - XPath 错误。节点不能用于创建它的文档以外的文档中

我正在尝试使用XPath解析xml文档。该脚本在chrome上运行良好,但出现以下错误:WrongDocumentError:Nodecannotbeusedinadocumentotherthantheoneinwhichitwascreated有问题的代码如下:functionStringToXML(oString){//codeforIEif(window.ActiveXObject){varoXML=newActiveXObject("Microsoft.XMLDOM");oXML.loadXML(oString);returnoXML;}//codeforChrome,Saf

xml - 如何使用 Xpath 匹配一个或另一个元素

我四处搜索但没有看到这个问题的答案,尽管它必须(?)很简单?给出类似的东西:我想选择input元素或select,事先不知道它会是哪个。我试过对此的变体(其中.是表单节点):./(inputorselect)但我收到有关无效xpath的消息。这是在Python3中。 最佳答案 您可以使用这个XPath://input|//select或//*[self::inputorself::select] 关于xml-如何使用Xpath匹配一个或另一个元素,我们在StackOverflow上找到一

xml - 使用 XPATH 从节点列表中选择唯一元素列表

在XPATH中是否可以从一个有许多相同元素的节点中选择一个唯一元素列表?PopsicleIceCreamPopsicleCheeseCake在这个例子中,我希望结果列表只有3个节点(冰棒/冰淇淋/芝士蛋糕)。如何使用Xpath选择这样的列表? 最佳答案 尝试以下xpath:/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)]它将通过检查DesertCode属性返回不同的沙漠。 关于xml-使用XPATH从节点列表中选择唯一

c# - Json.net:JObject.SelectToken 可以做 XPath 可以做的事情吗?如果是,语法是什么?

query的答案2009年发布的是使用新功能JObject.SelectToken,它应该提供类似XPath的功能。我现在使用的是JSON.NET4.5R11,SelectToken方法可用。但是我找不到很多关于要传递给SelectToken函数的路径字符串的文档(基本上是语法)。以下代码生成一个Json字符串,我想在其上执行类似Xpath的方法(即据我所知SelectToken)IListbranches=newArrayList();IListemployees=newArrayList();employees.Add(new{EmpId=1,Name="Name1"});empl

c# - 没有使用 XPath 从 Atom XML 文档中选择节点?

我正在尝试以编程方式解析Atom提要。我将原子XML下载为字符串。我可以将XML加载到XmlDocument中。但是,我无法使用XPath遍历文档。每当我尝试时,我都会得到null。我一直在使用这个Atom提要作为测试:http://steve-yegge.blogspot.com/feeds/posts/default调用SelectSingleNode()总是返回null,除非我使用“/”。这是我现在正在尝试的:using(WebClientwc=newWebClient()){stringxml=wc.DownloadString("http://steve-yegge.blog

c# - 解析 XML : Colon in my element causes XPath to miss it

我加载了一个XML文档并尝试使用XPath进行搜索。此文件中的根节点是文件末尾用正确关闭.我的问题是我不能在不使用后代轴的情况下遍历树。换句话说,我可以做到:SelectSingleNode("//TransactionHeader[SHIPPERSTATE='CA']")并获得一个节点作为返回。但我不能做应该等效的事情:SelectSingleNode("/Transmission/TransmissionBody/Transaction/TransactionHeader[SHIPPERSTATE='CA']")如果我删除t:我可以在/Transmission上进行XPath搜索并

sql-server - 使用键/对表与 XML 字段和 XPath 的 SQL Server 性能

我已经看到一些关于这个主题的问题,但我正在寻找关于这两种技术之间性能差异的一些见解。例如,假设我正在记录事件日志,这些事件将与特定事件的键/值对字典集一起进入系统。我将使用基础数据在事件表中记录一个条目,但随后我还需要一种方法来链接其他键/值数据。我永远不知道会出现什么类型的键或值,因此任何类型的预定义枚举表似乎都是不可能的。此事件数据将不断流入,因此插入时间与查询时间一样重要。当我查询特定事件时,我将使用事件中的一些字段以及键/值数据中的数据。对于XML方式,我将简单地使用Attributes.exists('xpath')语句作为where子句的一部分来过滤记录。规范化的方法是使用

xml - 查找两个元素之间的相对 XPath 的最有效方法是什么?

在查看了各种使用XML/XPath的流行模块之后,我还没有看到实现这一目标的直接方法。本质上,界面看起来像这样:my$xpath=get_path($node1,$node2);...这将返回从$node1到$node2的相对路径。我在“效率”的计算中包括了我自己的时间——我将采用任何现有的解决方案来解决这个问题。如果做不到这一点,我想知道在任何“明显的”本土解决方案中可能遇到的一些陷阱。在我的脑海中,我可以想象简单地首先在$node1的后代中搜索$node2,然后如果失败则迭代$node1的祖先做同样的事情。这会像我担心的那样占用大量资源吗?对于我的特定用例,我可以假设$node1和

xml - 为什么 xpath 位置选择表达式会返回多个节点?

在使用xpath(时间不长)时,我遇到了一些奇怪的事情。xml的缩短版本(完整的xml是here,快照在pastebin上可用):Sundayschedulestoday.Stopmoved acrossRevere During ConstructionStopmoved acrossRevere During Construction表达式//route[1]如我所料返回了第一个route节点。但是,当尝试选择第一个message节点时,使用//message[1]返回了多个message节点,而不是一个。起初我认为这是一个平台问题,

xml - 将科学计数法中的字符串转换为 XPath 中的数字格式

我有这个字符串:8.1161E-002这个字符串实际上是一个计算的结果(不幸的是结果被转换为字符串,我不能改变它)。那么我怎样才能将这个字符串转换成类似00.081的格式呢?我正在查看XPath引用,但我找不到例如format()函数。有没有办法在XPath中执行此操作? 最佳答案 XPath1.0解决方案如果您受困于XPath1.0并且您的输入格式为(尾数E+指数)或(mantissaE-exponent)你可以使用这个hack(这不是很好但可以胜任完成):translate(concat(number(substring('10